package com.djf.djfcs.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.djf.djfcs.entity.Product;

import java.util.List;

/**
 * 商品服务接口
 * 继承MyBatis-Plus的IService接口，提供基础的CRUD操作
 */
public interface IProductService extends IService<Product> {

    /**
     * 根据商品编码查询商品
     */
    Product getProductByCode(String productCode);

    /**
     * 分页查询商品
     */
    IPage<Product> getProductPage(int pageNum, int pageSize, String productName, 
                                String category, String brand, String status);

    /**
     * 根据分类查询商品列表
     */
    List<Product> getProductsByCategory(String category);

    /**
     * 根据品牌查询商品列表
     */
    List<Product> getProductsByBrand(String brand);

    /**
     * 更新商品库存
     */
    boolean updateProductStock(Long productId, Integer stock);

    /**
     * 更新商品状态
     */
    boolean updateProductStatus(Long productId, String status);

    /**
     * 批量创建商品
     */
    boolean batchCreateProducts(List<Product> products);

    /**
     * 批量更新商品
     */
    boolean batchUpdateProducts(List<Product> products);
}